package com.terran4j.kotlin.flow


// 任何表达式都可以用标签来标记，如：  xxx@
// return, break, continue 可以跳转到指定的标签。

fun justDo(things: Array<String>) {
    things.forEach nextThing@ {
        if (it.startsWith("//")) {
            return@nextThing
        }
        println("Just do $it")
    }
}

// 指定一个数字 N，在一定范围内（scope）
// 找出所有相乘等于 n 的数字，或者一个相除等于 n 的数字。
fun findNumbers(n:Int, scope:Int) {
    outerLoop@ for (a in 1..scope) {
        innerLoop@ for (b in 1..scope) {
            if (a * b == n) {
                println("$a * $b = $n")
                break@innerLoop // 跳出里面的 for 循环，但继续外面的 for 循环。
            }
            if (a % b == 0 && a / b == n) {
                println("$a / $b = $n")
                break@outerLoop // 跳出外面的 for 循环，则所有 for 循环结束。
            }
        }
    }
}

fun main(args: Array<String>) {
//    findNumbers(5, 100)
    justDo(arrayOf<String>("IT", "// joke", "Anything"))
}